
        <html>
			<head>
			     <title>Splunk实战（一）——索引器配置以及转发器安装配置说明  - RipZ</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/16143">http://drops.wooyun.org/tips/16143</a></h1>
				
      <p>
        <h1>0x00 前言</h1>

<hr />

<p>本文将以连载的形式分享splunk在实战中的运用：从索引器&amp;转发器的安装部署开始，到普通搜索&amp;字段提取，再到报表&amp;仪表盘定制以及告警等，详细的写出作者在实战中的经验（其实是遇到的坑），让大家看完之后可以少走些弯路。</p>

<h1>0x01 Splunk简述</h1>

<h2>什么是Splunk？</h2>

<p>Splunk是机器数据的引擎。使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备（物理、虚拟和云中）生成的快速移动型计算机数据，随时从一个位置搜索并分析所有实时和历史数据。使用 Splunk可以在几分钟内（而不是几个小时或几天）解决问题和调查安全事件，关联并分析跨越多个系统的复杂事件，从而获取新层次的安全运营以及业务运营可见性。</p>

<!--more-->

<p><img src="http://static.wooyun.org//drops/20160526/2016052616530992198160.png" alt="" /></p>

<h2>Splunk的强大之处</h2>

<p>Splunk 可以从任何源实时索引任何类型的计算机数据，由下图可见，通过端口监听来收集各类服务器或者网络设备的日志，还可以通过脚本来获取系统指标等。</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165311281322.gif" alt="" /></p>

<p>同时，可以通过在各个操作系统安装部署转发器（forwarder），来实现将各个agent端日志目录文件发送到splunk索引器（indexer）中。下图最底层为forwarder，中间层为indexer。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616531555552319.png" alt="" /></p>

<p>简要介绍了一下整体架构，下面我们进入实战环节。</p>

<h1>0x02 环境准备</h1>

<hr />

<h2>Splunk索引器</h2>

<p>6.3.3版本，IP为10.2.1.157</p>

<h2>Splunk转发器</h2>

<p>Linux&amp;windows的6.3.3版本</p>

<h1>0x03 索引器配置</h1>

<p>索引器端需要配置监听端口，以便接收从转发器端发来的日志文件等。在“设置——转发和接收——接收数据”中配置监听9997端口</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616531793004417.png" alt="" /></p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616531869503516.png" alt="" /></p>

<p>另外索引器默认的管理端口是8089，无需配置。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616532094025615.png" alt="" /></p>

<h1>0x04 Windows转发器配置</h1>

<hr />

<h2>准备工作</h2>

<ol>
<li>splunk转发器下载地址</li>
</ol>

<p>https://www.splunk.com/page/previous_releases/universalforwarder</p>

<ol>
<li><p>需要在windows server上将”本地安全策略——本地策略——审核策略”中的所有审核策略均配置为”成功“和失败”</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616532161248715.png" alt="" /></p></li>
</ol>

<h2>安装过程</h2>

<p>首先复制转发器到相应的服务器上</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616532391595811.png" alt="" /></p>

<p>双击执行该文件，如下图所示，勾选接受协议，之后选择“Customize Options”即自定义安装</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616532447004912.png" alt="" /></p>

<p>路径默认即可</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165326414051011.png" alt="" /></p>

<p>勾选上“windows Event Logs”以及“Performance Monitor”的全部选项，但不用勾选”AD monitoring”（否则如果在域环境下，索引器会收到大量域内无用消息，极为占用资源），如下图。</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165327315861116.png" alt="" /></p>

<p>这个步骤默认即可。</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165329482731213.png" alt="" /></p>

<p><font color="red">（重要！）</font>配置调度服务器（这一步是为了让indexer可以识别到forwarder，并且可以从管理端下发日志采集指令）。 这一步中的IP填写为10.2.1.157，端口填写为8089，如下图。</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165330319781312.png" alt="" /></p>

<p><font color="red">（重要！）</font>这一步中配置接收索引器（这一步是为了让indexer可以接收到forwarder发来的日志），IP填写为10.2.1.157，端口填写为9997。</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165332199241411.png" alt="" /></p>

<p>执行安装过程完毕后，点击Finish结束。</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165333802451510.png" alt="" /></p>

<p>最后在索引器中可以看到该转发器已连接上</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616533537859169.png" alt="" /></p>

<h1>0x05 Linux转发器配置</h1>

<hr />

<h2>安装过程</h2>

<p>首先查看当前IP。</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165336187211710.png" alt="" /></p>

<p>从内网服务器下载压缩包：</p>

<pre><code>#!shell
wget http://10.2.24.66/splunkforwarder-Linux.tgz
</code></pre>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616533755905189.png" alt="" /></p>

<p>解压。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616533916481198.png" alt="" /></p>

<p>进入<code>%splunkforwarder%/bin</code></p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616534136286208.png" alt="" /></p>

<p>输入<code>./splunk start</code>进行安装</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165343170582113.png" alt="" /></p>

<p>输入y，等待安装完成。</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165347466152211.png" alt="" /></p>

<p>输入<code>./splunk enable boot-start</code>，配置为开机启动</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616535261086238.png" alt="" /></p>

<p><font color="red">（重要！）</font>配置调度服务器（这一步是为了让indexer可以识别到forwarder，并且可以从管理端下发日志采集指令）。</p>

<p>遇到的坑：<font color="red">6.3.3的转发器安装貌似没法通过输入命令来指定对端索引器，如果不搞配置文件的话，索引器是无法感知到这个转发器的。</font></p>

<p>随后在<code>%splunkforwarder%/etc/system/local/</code>配置deploymentclient.conf</p>

<p>其文件内容格式为：</p>

<pre><code>[target-broker:deploymentServer]
targetUri = 10.2.1.157:8089
</code></pre>

<p>如下配置即为成功</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616535489182246.png" alt="" /></p>

<p><font color="red">（重要！）</font>这一步中配置接收索引器（这一步是为了让indexer可以接收到forwarder发来的日志）</p>

<p>另外需要在<code>%splunkforwarder%/etc/system/local/</code>配置outputs.conf</p>

<pre><code>[tcpout]
defaultGroup = defau；lt-autolb-group    

[tcpout:default-autolb-group]
server = 10.2.1.157:9997    

[tcpout-server://10.2.1.157:9997]
</code></pre>

<p>如下配置即为成功</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616535640488256.png" alt="" /></p>

<p>配置完conf文件后需要重启splunk服务</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616535879968266.png" alt="" /></p>

<p>另外，还需要配置<code>/etc/rsyslog.conf</code>，设置接收syslog条目为：（为了实现索引分类，这里我将linux的syslog指定发到索引器的516端口）</p>

<p><code>* @10.2.1.157:516</code></p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616540083628274.png" alt="" /></p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616540220786283.png" alt="" /></p>

<p>配置完毕后保存退出，并且重启rsyslog服务。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616540445557294.png" alt="" /></p>

<p>至此，linux端转发器配置完毕。</p>

<p>随后可看到在server端服务器列表中，该转发器已连接上。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616540627198303.png" alt="" /></p>

<h1>0x06 添加转发器中的数据</h1>

<hr />

<p>首先选择“设置——数据导入“</p>

<p><img src="http://static.wooyun.org//drops/20160526/20160526165408389043110.png" alt="" /></p>

<p>选择添加来自于转发器的数据——windows事件日志</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616541032743324.png" alt="" /></p>

<p>新建一个服务器组</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616541297951333.png" alt="" /></p>

<p>由于目前只关心安全日志，只选security即可，如下图。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616541483641343.png" alt="" /></p>

<p>将这些转发器的上述配置好的日志均发送到自己新建的windows索引中，以免在超大的main索引里查询导致效率下降。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616541695855353.png" alt="" /></p>

<p>同理，在”添加数据——文件和目录”功能中，可以直接导入转发器的IIS或tomcat等日志目录所在的路径，配置完毕后由转发器自动将日志发到索引器上来（好像远控有木有）</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616541844163363.png" alt="" /></p>

<p>再将不同类别的日志存放到相应的索引中即可。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616542083665373.png" alt="" /></p>

<p>最后在搜索时输入index=windows或者index=iis，即可搜到所有转发器发来的日志了。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616542112386383.png" alt="" /></p>

<p>另外，在上一章节中所配置的linux syslog已经发送到了516端口，所以在这里我们新建一个监听UDP:516的规则</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616542365833393.png" alt="" /></p>

<p>并建立一个单独的linux索引来存储发到516端口的UDP数据（即syslog），届时直接搜索index=linux即可。</p>

<h1>0x07 简单的报表示例</h1>

<hr />

<h2>统计暴力破解SSH的源IP</h2>

<p>先通过linux登录失败的特征字段“failed password”来查询，同时，linux的日志均在名为linux的索引表中，故应该搜索：index=linux failed password。如下图</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616542585019401.png" alt="" /></p>

<p>之后想要统计来源的IP都有哪些，此时点击左侧的“Src_ip”，选择”上限值”，即为发生次数最多的前20个。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616542766785418.png" alt="" /></p>

<p>可以自动生成统计图，直观展示哪些源IP的次数最多。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616542955627421.png" alt="" /></p>

<p>之后将Src&#95;ip改为Dst&#95;ip，可以观察哪些linux服务器正遭受暴力破解的威胁。</p>

<p><img src="http://static.wooyun.org//drops/20160526/2016052616543143140431.png" alt="" /></p>

<p>至于上面说的Src&#95;ip和Dst&#95;ip是怎么分割出来的，且听下回分解《搜索技巧&amp;字段提取》。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          